Digital estimation and correction of I/Q mismatch in direct conversion receivers

ABSTRACT

An IQ receiver includes an estimator/compensator module to determine and correct IQ mismatch errors between the I and Q channels of the IQ receiver. The estimator module determines a phase compensation factor C 1  and an amplitude compensation factor C 2  based on a calibration signal that is injected into the analog front-end of the IQ receiver. A compensator module applies the phase correction factor C 1  and the amplitude correction factor C 2  to the baseband output of the Q channel in order to reduce any phase or amplitude errors between the I and Q channels. The estimator module and the compensator module can be efficiently implemented in a digital state machine, or processor, including a digital signal processor.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention generally relates to an in-phase (I) and quadrature (Q) receiver, and more specifically to an apparatus and method for compensating for IQ mismatch errors between the I and Q channels in an IQ receiver.

[0003] 2. Background Art

[0004] Wireless communications systems often transmit data using an in-phase (I) and quadrature (Q) format. The I and Q channels in an IQ signal are phased-shifted relative to each other by 90 degrees, which is known as a quadrature relationship. The IQ format is popular for data transmissions because an IQ signal is capable of carrying two data streams in the frequency bandwidth that is normally required by a single data stream. In other words, the IQ format allows twice the data to be sent over a given frequency bandwidth. At the radio receiver, the I and Q channels are typically down-converted and demodulated to recover the I and Q channel data.

[0005] The IQ radio receiver typically includes separate receiver paths for the I channel and the Q channel. For instance, the I channel receiver path can include a first set of mixers, amplifiers, filters, etc. to down-convert and process the I channel data. Likewise, the Q channel receiver path can include a second set of mixers, amplifiers, filters, etc. to down-convert and process the Q channel data.

[0006] I/Q mismatch error in the radio receiver can impair the ability to successfully receive and process high speed data carried by the wireless signal. I/Q mismatch errors occur when the I channel gain is different from that of the Q

[0007] channel, or when the phase relationship between the two channels is not exactly 90 degrees. I/Q mismatch error is caused by gain and/or phase mismatches of the high frequency components in the I and Q channels of the I/Q receiver. For example, the receiver components in the I channel can have slightly different amplitude and/or phase characteristics than the receiver components in the Q channel, introducing mismatch errors in the I and Q baseband signals. Although the differences are usually small, these gain and phase mismatches reduce the effective signal-to-noise ratio of the IQ receiver, and increase the number of bit errors for a given data rate.

[0008] One conventional solution to reduce the effect of I/Q mismatch errors is to utilize highly precise components in the I and Q channels that have matching amplitude and phase characteristics. These high quality components may be too expensive for low cost applications, such as wireless local area network applications, or other low cost consumer applications.

[0009] Another conventional solution is to purchase lower precision components, but to test and characterizes the components so that components with matching amplitude and phase characteristics can be put in the same IQ receiver. Although effective, this solution is time consuming, and labor intensive because a technician must test and characterize each and every component. Therefore, this solution can be as costly as buying high precision components.

[0010] What is needed is an I/Q receiver that includes a means for detecting and correcting for I/Q mismatch error in real time, without resorting to high precision components or component characterization.

BRIEF SUMMARY OF THE INVENTION

[0011] The present invention includes a method and apparatus for correcting mismatch errors between the I and Q channels in an IQ receiver. The IQ mismatch is corrected by applying a phase correction factor C₁ and an amplitude correction factor C₂ to the Q baseband signal. The phase correction factor C₁ and the amplitude correction factor C₂ are determined based on a calibration signal that is injected into the analog front-end of the IQ receiver.

[0012] More specifically, a calibration signal is injected into the IQ receiver input, to produce an I_(N) baseband signal and a Q_(N) baseband signal at the output of the IQ receiver. The calibration signal can be a known signal source, or it can be noise that is generated by the IQ receiver when no input signal is received. An average power P_(I) is determined for the I_(N) baseband signal, and an average power P_(Q) is determined for the Q_(N) baseband signal. A cross-correlation R_(IQ) is determined between the I_(N) baseband signal and the Q_(N) baseband signal. A phase compensation factor C₁ is determined based on the average power P_(I) and the cross-correlation R_(IQ), where the phase compensation factor C₁ is determined to compensate for any phase error between the I_(N) baseband signal and the Q_(N) baseband signal. An amplitude compensation factor C₂ is determined based on the average power P_(I), the average power P_(Q), and the cross-correlation R_(IQ), where C₂ is determined to compensate for any amplitude error between the I_(N) baseband signal and the Q_(N) baseband signal.

[0013] In one embodiment, an estimator module determines the phase compensation factor C₁ and the amplitude compensation factor C₂ according to the following equations, $\begin{matrix} {{C_{1} = \frac{R_{IQ}}{P_{I}}},{and}} \\ {C_{2} = {\left\lbrack {\frac{1}{P_{I}}\sqrt{{P_{I}P_{Q}} - R_{IQ}^{2}}} \right\rbrack^{- 1}.}} \end{matrix}$

[0014] The equations for C₁ and C₂ can be efficiently implemented in a digital state machine, or processor, including a digital signal processor (DSP). Once the compensation factors C₁ and C₂ are determined, the calibration signal is disengaged, and the IQ receiver can receive information bearing signals. A compensator module applies the phase compensation factor C₁ and the amplitude compensation factor C₂ to an information bearing Q baseband signal to correct any phase or amplitude errors between the information I baseband signal and the information bearing Q baseband signal.

[0015] The advantage of the present invention is that the calibration can be accomplished with noise that is self-generated by the I/Q receiver. The IQ mismatch for noise is the same as the IQ mismatch for a desired input signal. Furthermore, the phase and amplitude compensation can be determined and applied using low cost digital hardware, such as a digital state machine, a processor, and/or DSP. This enables IQ compensation in low-cost transceiver applications, such as wireless LAN applications.

[0016] Further features and advantages of the present invention, as well as the structure and operation of various embodiments of the present invention, are described in detail below with reference to the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0017] The present invention is described with reference to the accompanying drawings. In the drawings, like reference numbers indicate identical or functionally similar elements. Additionally, the left-most digit(s) of a reference number identifies the drawing in which the reference number first appears.

[0018]FIG. 1 illustrates a conventional IQ receiver.

[0019]FIG. 2a illustrates an ideal IQ channel relationship in an IQ receiver.

[0020]FIG. 2b illustrates a non-ideal IQ channel relationship in an IQ receiver.

[0021]FIG. 3 illustrates an IQ receiver that performs IQ mismatch estimation and compensation according to embodiments of the invention.

[0022]FIG. 4 illustrates an operational flowchart for estimating and compensating IQ mismatch in an IQ receiver.

[0023]FIG. 5 further describes an operational flowchart for estimating IQ mismatch error in an IQ receiver based on a calibration signal injected into the IQ receiver.

[0024]FIG. 6 further illustrates an estimator/compensator apparatus that efficiently estimates IQ mismatch error based on the calibration signal.

[0025]FIG. 7 illustrates an operational flowchart of one embodiment for efficiently estimating IQ mismatch error based on the calibration signal.

[0026]FIG. 8 illustrates an exemplary computer system capable of performing the estimation and compensation methods according to embodiments of the present invention.

[0027]FIGS. 9a and 9 b illustrate an operational flowchart for estimating IQ mismatch error using the exemplary computer system in FIG. 8.

[0028]FIG. 10 illustrates an operational flowchart for efficiently determining the amplitude compensation factor according to embodiments of the present invention.

[0029]FIG. 11 illustrates an alternate configuration for the estimator/compensator module according to embodiments of the present invention.

[0030]FIG. 12 illustrates an another alternate configuration for the estimator/compensator module according to embodiments of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

[0031] 1. IQ Receiver

[0032]FIG. 1 illustrates a conventional direct conversion IQ receiver 100 having an antennal 116, an amplifier 102, an I-channel path 118 a, a Q channel path 118 b, and a digital signal processor 114. The IQ receiver 100 receives an IQ signal at the antenna 116, and directly down-converts the IQ signal to baseband, to produce I channel data 113 a and Q channel data 113 b.

[0033] During operation, the antenna 116 receives an IQ signal over the air. The IQ signal carries I channel data and Q channel data in the same frequency bandwidth that would normally be needed for a single data stream. The I channel data and the Q channel data can be two distinct data streams, or the I and Q channels can be interleaved to create a single data stream that occupies only half the normal bandwidth (needed without the IQ format.) The IQ signal received by the antenna 116 can be carried on a radio frequency (RF) carrier, or some other high frequency carrier suitable for over-the-air transmission. For instance, the IQ signal can be a terrestrial or satellite television (TV) signal, or some other type of communications signal, including a data communications signal.

[0034] The antenna 116 can be replaced with a cable, such as that used in a cable TV system, or some other type of communications system.

[0035] The amplifier 102 receives the output of the antenna 116 and generates an amplified IQ signal 103 that is delivered to both the I-channel path 118 a and the Q channel path 118 b. The I channel path 118 a and the Q channel path 118 b are arranged in-parallel such that the IQ signal 103 can be processed in parallel. The I channel path 118 a down-converts and digitizes the IQ signal 103, to produce an I baseband signal 113 a. Similarly, the Q channel 118 b down-converts and digitizes the IQ signal 103, to produce an Q baseband signal 113 b.

[0036] The I channel path includes a mixer 104 a, a low pass filter 110 a, and an analog-to-digital converter (ADC) 112 a. In the I channel path, the mixer 104 a mixers the IQ signal 103 with a local oscillator signal 107 a from the local oscillator 108. The frequency of the local oscillator signal 107 a is chosen to directly down-convert the IQ signal 103 to baseband, producing the baseband signal 105 a. In other words, the frequency of the local oscillator 108 is selected so as to be substantially equal to the frequency of the IQ signal 103. The I channel baseband signal 105 a is low pass filtered by the filter 110 a, where the passband of the filter 110 a is determined so as to substantially pass the I baseband signal 105 a and reject all other frequencies. The ADC 112 a digitizes the output of the lowpass filter 110 a, to generate the I baseband signal 113 a.

[0037] Likewise, the Q channel path includes a mixer 104 b, a lowpass filter 110 b, and an analog-to-digital converter (ADC) 112 b. In the Q channel path, the mixer 104 a mixes the IQ signal 103 with a local oscillator signal 107 b, which is phased-shifted by 90 degrees relative to the local oscillator signal 107 a by the 90 degree phase shifter 106. The resulting Q channel baseband signal 105 b is low pass filtered by the filter 110 b, where the passband of the filter 110 b is determined so as to substantially pass the Q baseband signal 105 b and reject all other frequencies. The ADC 112 a digitizes the output of the lowpass filter 110 b, to generate the Q baseband signal 113 b.

[0038] The digital signal processor (DSP) 114 receives the I and Q baseband signals 113 a and 113 b, and demodulates the I and Q baseband signals 113 to process and retrieve the baseband information.

[0039] Any gain or phase mismatches between the I path 118 a and the Q path 118 b can reduce the overall signal-to-noise ratio of the IQ receiver 100, and increase the bit error rate of the IQ receiver 100. For instance, if the mixer 104 a has a different amplitude and/or phase characteristic than the mixer 104 b, the differences will increase the bit error rate in the resulting I and Q baseband signals during demodulation. This also holds for any gain or phase mismatches between the filters 110 a and 110 b, or the ADCs 112 a and 112 b.

[0040] As stated above, FIG. 1 illustrates a direct conversion receiver, where the input signal received by the antenna 116 is down-converted directly to baseband by a single mixer stage. In contrast, a dual-conversion (or super-heterodyne) receiver configuration includes multiple mixer stages to down-convert the input signal to baseband, and therefore the input signal is down-converted to an intermediate (IF) frequency before being down-converted to baseband. As a result, the individual frequency translations (in Hz) performed by a dual conversion receiver are typically smaller than the frequency translation performed in a direct conversion receiver. For example, given an input frequency of 1 Ghz, a direct conversion receiver translates this input signal directly to baseband, so as to produce a frequency shift of approximately 1 Ghz (assuming a DC baseband signal). Whereas, a dual conversion receiver translates the input signal to an IF frequency, e.g. 275 Mhz, and then to baseband.

[0041] Despite the shorter frequency translations, I/Q mismatch error is also detrimental for dual conversion receivers, as it produces the same reduction in signal-to-noise ratio and the corresponding increase in bit error rate. However, the I/Q mismatch error is usually more detrimental in direct conversion receivers than in dual-conversion receivers because of the increased frequency translation, and the overall higher frequency of operation.

[0042] 2. I/Q Mismatch

[0043]FIGS. 2a and 2 b compare an ideal I/Q channel with an non-ideal I/Q channel to further illustrate I/Q mismatch. FIG. 2A illustrates an ideal I/Q channel 200 having an I channel 202 and a Q channel 204. The I channel 202 has an equal amplitude with a Q channel 204. Furthermore, the Q channel 204 is phase shifted by exactly 90 degrees relative to the I channel 204. As a result, the I and Q channels have an ideal ortho-normal relationship. FIG. 2b illustrates a non-ideal I/Q channel 206. The amplitude of the Q channel 204 is smaller than the amplitude of the I channel 202, as represented by the dotted line. Furthermore, the Q channel 204 does not have a perfect quadrature relationship with the I the channel 202. In other words, the Q channel 204 is phase shifted by some amount less 90 degrees relative to the I channel 202, and indicated by the angle φ_(e). The amplitude and phase errors that are evident in the non-ideal I/Q channel 206 will lead to more bit errors for a given data rate compared to the ideal I/Q channel 200. Therefore, it desirable to reduce or eliminate the amplitude and phase errors between the I and Q channels so as to maximize the rate of data transmission.

[0044] 3. I/Q Mismatch Compensation

[0045] The present invention includes an estimator and a compensator to correct I/Q mismatch errors in an I/Q receiver. The estimator determines the I/Q mismatch error between the I and Q channels of an I/Q receiver based on a calibration signal that is injected into the I/Q receiver, and determines correction factors based on the mismatch error. The compensator applies the correction factors to the baseband I and Q signals to correct the I/Q mismatch error.

[0046]FIG. 3 illustrates an IQ receiver 300 that performs IQ mismatch estimation and compensation according to embodiments of the invention. The IQ receiver 300 is similar to the IQ receiver 100, but includes a switch 302, a signal source 304, and an estimator/compensator module 306. The estimator/compensator module 306 includes an estimator module 308 and a compensator module 310. The IQ mismatch errors are estimated by injecting a calibration signal into the I/Q receiver 300, and then determining correction factors (C₁ and C₂) to compensate for the amplitude and phase mismatch errors based on the calibration signal. The operation of the IQ Receiver 300 is further described in reference to the flowchart 400, and is discussed below.

[0047] In step 402, a calibration signal is injected into the analog front-end of the I/Q receiver. The analog front-end is generally defined as that part of the receiver prior to baseband down-conversion. Referring to FIG. 3, the analog front-end includes the LNA 102 and the mixers 104, and the rest of the receiver 300 would describe the baseband operation. The calibration signal can be input noise picked up by the antenna 116 and/or noise generated by components in the receiver 300, when no (deliberate) signal is being received. In other words, the calibration signal can be background noise that is picked-up or generated by the receiver 300. Alternatively, the calibration signal can be deliberately injected into the analog front-end of the receiver 300. For example, the known signal source 304 can inject a known calibration signal directly into the LNA 102 by configuring the switch 302. The known signal source 304 can be a sinusoidal signal source, a noise source, or some other type of known signal source. The signal-to-noise ratio of the LNA 102 should dominate the overall signal-to-noise ratio of the receiver 100. Furthermore, the I/Q mismatch should be the same for both the desired information bearing signals and noise that is injected int the IQ receiver 100.

[0048] In step 404, the estimator/compensation module 306 examines the I_(N) and Q_(N) baseband signals that are produced when the calibration signal is injected into the analog front-end. Herein, I and Q baseband signals that are generated from the calibration input are given the subscript “_(N)” (e.g. “I_(N)” and “Q_(N)”) to distinguish them from I and Q baseband signals carrying information. For example, the baseband signals I_(N) 113 a and Q_(N) 113 b can be examined with the known source 304 connected to the LNA 102.

[0049] In step 406, the estimator 308 determines a phase compensation factor C₁ and an amplitude compensation factor C₂ from the I_(N) and Q_(N) baseband signals 113. The phase compensation factor C₁ corrects for any phase error between the I and Q channels 118 a and 118 b. Whereas, the amplitude compensation factor C₂ corrects for any amplitude error between the I and Q channels 118 a and 118 b.

[0050] In step 408, the calibration signal is disengaged from the I/Q receiver 300, and the I/Q receiver 300 is configured to receive the analog information signals. For example, the switch 302 is configured to connect the antenna 116 to the LNA 102 instead of to the signal source 304, thereby generating I and Q baseband signals 113 that carry useful information.

[0051] In step 410, the compensator 310 compensates the Q baseband signals with the phase compensation factor C₁ and the amplitude compensation factor C₂, to produce compensated baseband signals I and Q baseband signals 118 a and 118 b. The phase compensation factor C₁ adjusts the Q baseband signal 118 b to correct for any phase error between the I and Q baseband signals. The amplitude compensation factor C₂ adjusts the Q baseband signal 118 b to correct for any amplitude error between the I and Q baseband signals. The compensated baseband signals 118 a and 118 b are then forwarded to the DSP 114 for further processing.

[0052] The determination of the phase compensation factor C₁ and the amplitude compensation factor C₂ (step 406) are further described in flowchart 500 that is shown in FIG. 5. In step 502, the signal power of the I_(N) and Q_(N) baseband signals is determined according the following equations:

P _(I)=Average of I_(N) ²  Eq. 1

P _(Q)=Average of Q_(N) ²  Eq. 2

[0053] where I_(N) and Q_(N) are the vector I and Q baseband signals with the calibration signal injected into the analog front-end.

[0054] In step 504, the cross correlation is determined between the I and Q baseband signals according to the following equation:

R _(IQ)=Average of I _(N) ·Q _(N)  Eq. 3

[0055] Cross-correlation is a measure of the quadrature relationship between the I and Q channels. If the I and Q channels are in perfect quadrature, then the result of the vector multiplication in Eq. 3 would be zero, and the cross-correlation would also be zero. If the phase difference between the I and Q channels deviates from 90 degrees, then the cross-correlation will deviate from 0.

[0056] In step 506, the amplitude error between the I_(N) and Q_(N) baseband signals is determined based on the parameters determined in step 502. The amplitude error is determined according to the following equation:

A _(e) =SQRT(P _(Q) /P _(I)).  Eq. 4

[0057] In an ideal I/Q receiver, the I and Q baseband signals would have equal amplitude so that P_(Q) would equal P_(I). However, in a non-ideal I/Q receiver, P_(I) can differ from P_(Q) because of additional losses or gains in one channel verses another channel.

[0058] In step 508, the phase error between the I_(N) and Q_(N) baseband signals is determined based on the parameters determined in step 502. Referring back to FIG. 2b, the phase difference between the I_(N) and Q_(N) channels represents the deviation of the Q channel from the desired 90 degree phase shift relative to the I channel. The phase error is determined according to the following equation:

φ_(e)=arcsin[R _(IQ) /SQRT(P _(I) ·P _(Q))].  Eq. 5

[0059] For an ideal I/Q channel, the phase error will be 0 degrees. Any deviation from 0 degrees, is a phase error.

[0060] In step 510, a phase compensation factor C₁ is determined based on the amplitude error and the phase error determined in steps 504 and 506. More specifically, the phase compensation factor is determined based on the following equation:

C ₁ =A _(e)·sin φ_(e)  Eq. 6

[0061] In step 512, an amplitude compensation factor is determined based on the amplitude error and the phase error determined in steps 504 and 506. More specifically, the amplitude compensation factor is determined based on the following equation:

C ₂=1/[A _(e)·cos (φ_(e))]  Eq. 7

[0062] 4. Efficient Calculation of C₁ and C₂

[0063] The phase and amplitude compensation factors C₁ and C₂ can be re-arranged for efficient calculation of these factors in a digital state machine, digital signal processor, or another type of processor. For instance, repeating equation 6,

C ₁ =A _(e) sin φ_(e)  Eq. 6

[0064] where φ_(e)=arcsin [R_(IQ)/SQRT (P_(I)·P_(Q))], and A_(e)=SQRT (P_(Q)/P_(I)). By substitution, $\begin{matrix} {{C_{1} = {\sqrt{\frac{P_{Q}}{P_{I}}}{\sin \left\lbrack {{Arc}\quad {{Sin}\left( \frac{R_{IQ}}{\sqrt{P_{I}P_{Q}}} \right)}} \right\rbrack}}};} & {~~~} & & {~~} & & & & & & {{Eq}.\quad 8} \\ {{= {\sqrt{\frac{P_{Q}}{P_{I}}} \cdot \frac{R_{IQ}}{\sqrt{P_{I}P_{Q}}}}};} & & & & & & & & & {{Eq}.\quad 9} \\ {C_{1} = \frac{R_{IQ}}{P_{I}}} & & & & & & & & & {{Eq}.\quad 10} \end{matrix}$

[0065] Therefore, C₁ can be determined based on the ratio of the cross correlation factor R_(IQ) and the in-phase power P_(I).

[0066] Similarly, C₂ can be re-arranged as follows:

C ₂ =[A _(e) cos φ_(e)] Substituting for φ_(e) and A_(e); $\begin{matrix} {{C_{2} = \left\lbrack {\sqrt{\frac{P_{Q}}{P_{I}}}{\cos \left( {{Arc}\quad {{Sin}\left\lbrack \frac{R_{IQ}}{\sqrt{P_{I}P_{Q}}} \right\rbrack}} \right)}} \right\rbrack^{- 1}};} & {{Eq}.\quad 11} \\ {C_{2} = {\left\lbrack {\sqrt{\frac{P_{Q}}{P_{I}}}{\cos \left( {{Arc}\quad {{Sin}\left\lbrack \frac{R_{IQ}}{\sqrt{P_{I}P_{Q}}} \right\rbrack}} \right)}} \right\rbrack^{- 1}.}} & {{Eq}.\quad 12} \end{matrix}$

[0067] Via trigometric identity,

cos (Arc Sin X)={square root}{square root over (1−x ^(e))};

[0068] Applying the trigometric identity to equation 12: $\begin{matrix} {{C_{2} = \left\lbrack {\sqrt{\frac{P_{Q}}{P_{I}}} \cdot \sqrt{1 - \frac{R_{IQ}^{2}}{P_{I}P_{Q}}}} \right\rbrack^{- 1}};} & {{Eq}.\quad 13} \end{matrix}$

[0069] Simplifying, $\begin{matrix} {{C_{2} = \left\lbrack \sqrt{\frac{P_{Q}}{P_{I}} - \frac{R_{IQ}^{2}}{P_{I}}} \right\rbrack^{- 1}};} & {{Eq}.\quad 14} \end{matrix}$

[0070] And simplifying further, $\begin{matrix} {C_{2} = {\left\lbrack {\frac{1}{P_{I}}\sqrt{{P_{I}P_{Q}} - R_{IQ}^{2}}} \right\rbrack^{- 1}.}} & {{Eq}.\quad 15} \end{matrix}$

[0071] Therefore, C₂ can be determined based on P_(I), P_(Q), and R_(IQ). As will be shown, equations 10 and 15 can be efficiently implemented to determine C₁ and C₂ in a digital state machine circuit that is configured using digital circuits, or a DSP. The cost of a digital signal processors (DSP) has been sufficiently reduced to make digital compensation of IQ mismatch economical.

[0072]FIG. 6 illustrates an estimator/compensator module 600 that is one implementation of the estimator/compensator module 306. The estimator/compensator module 600 is an efficient implementation of the estimator compensation module 306, and can be implemented in a state machine, DSP, or other type of processor. The estimator/compensation 600 module includes an estimator module 609 and a compensator module 601. The estimator module 609 determines the phase compensation factor C₁ and the amplitude compensation factor C₂, according to the equations 10 and 15 above. The estimator module 609 sends the phase compensator factor C₁ and the amplitude compensator factor C₂ to a compensator module 601, for compensation of information baring I and Q baseband signals. The estimator module 609 and the compensator module 601 are described further as follows and in reference to the flowchart 700, which repeats some steps of the flowcharts 400 and 500.

[0073] In step 502, a power detector module 628 determines baseband power parameters for the I_(N) and Q_(N) baseband signals 113. More specifically, squaring modules 610 a and 610 b respectively receive I_(N) and Q_(N) baseband signals 113 a and 113 b that are generated from an injected calibration signal. The squaring module 610 a squares the I_(N) baseband signal 113 a, and the squaring module 610 b squares the Q_(N) baseband signal 113 b. Average modules 612 a and 612 b respectively receives the output of the squaring modules 610 a and 610 b. The average module 612 a averages the output of the squaring modules 610 a, to produce an average power P_(I) for the I_(N) baseband signal 113 a. A reciprocal module 614 also determines the reciprocal of P_(I), which is 1/P_(I), for later use. The average module 612 b averages the output of the squaring modules 610 b, to produce an average power P_(Q) for the Q_(N) baseband signal 113 b.

[0074] In step 504, a cross-correlation module 630 determines the cross-correlation parameter between the I_(N) and Q_(N) baseband signals 113. More specifically, the multiplier 608 receives the I_(N) and Q_(N) baseband signals 113 and multiples these signals together to form I_(N)·Q_(N). The averaging module 612 c determines the average of I_(N)·Q_(N) to generate the cross-correlation factor R_(IQ). The cross-correlation factor R_(IQ) is a measure of the quadrature relationship between the I and Q channels. If the I and Q channels are in perfect quadrature, then the result of the vector multiplication in Eq. 3 would be zero, and the cross-correlation would also be zero. If the phase difference between the I and Q channels deviates from 90 degrees, then the cross-correlation will deviate from 0. A squaring module 618 receives the cross-correlation factor R_(IQ), and squares the cross-correlation factor to generate R_(IQ) ² for determination of the amplitude compensation factor C₂.

[0075] In step 702, a phase compensator module 632 determines the phase compensation factor C₁ according to the equation 10 above. More specifically, a multiplier 620 in the phase compensator module 632 receives 1/P_(I) from the reciprocal module 614 and receives R_(IQ) from the cross-correlation module 630. The multiplier 620 multiples the cross-correlation factor R_(IQ) by the 1/P_(I) factor from the reciprocal module 614 to generate the R_(IQ)/P_(I), which is the phase compensation factor C₁.

[0076] In step 704, an amplitude compensator module 634 determines the amplitude compensation factor C₂ according to the equation 15 above. The step 506 is further described by the flowchart 1000 (FIG. 10) as follows. In step 1002, a multiplier 616 multiplies the average powers P_(I) and P_(Q) together to form the factor P_(I)P_(Q) per equation 15. In step 1004, a subtractor module 620 receives the P_(I)P_(Q) factor from the multiplier 616 and receives the R_(IQ) ² factor from the squarer module 618. The subtractor module 620 subtracts the R_(IQ) ² factor from P_(I)P_(Q) factor to generate P_(I)P_(Q)−R_(IQ) ². In step 1006, a square root module 622 takes the square root of P_(I)P_(Q)−R_(IQ) ² to form a SQRT (P_(I)P_(Q)−R_(IQ) ²) factor. In step 1008, a multiplier 624 multiplies SQRT (P_(I)P_(Q)−R_(IQ) ²) factor by 1/P_(I) to form 1/P_(I) SQRT (P_(I)P_(Q)−R_(IQ) ²). In step 1010, a reciprocal module 626 determines the reciprocal of 1/P_(I)·SQRT (P_(I)P_(Q)−R_(IQ) ²) to produce [1/P_(I)·SQRT (P_(I)P_(Q)−R_(IQ) ²)]⁻¹.

[0077] In step 410, the compensator module 601 compensates the (information baring) Q baseband signals 113 with the compensation factors C₁ and C₂. More specifically, multiplier 602 multiplies the I baseband signal 113 a by C₁ to produce a C₁·I signal 603. Adder 604 subtracts the C₁·I signal 603 from the Q baseband signal 113 b, to produce a Q baseband signal that is phase-compensated. Multiplier 606 multiplies the phase compensated Q baseband signal 113 b by the amplitude compensation factor C₂, to produce the compensated Q baseband signal 114 b that is both phase and amplitude compensated. Accordingly, the compensated I and Q baseband signals are corrected to remove phase and amplitude errors.

[0078]FIGS. 11 and 12 illustrate alternate embodiments of the estimator/compensator module 600. Namely, the FIG. 11 illustrates an estimator/compensator module 1100, where the order of the adder 604 and the multiplier 606 are reversed so that the multiplication is done first and the addition is done second, as shown. In this embodiment, C₁ and C₂ are replaced with C₁′, and C₂′, respectively, where: $\begin{matrix} {C_{1}^{\prime} = {{C_{1} \cdot C_{2}} = {\frac{R_{IQ}}{P_{I}}\left\lbrack {\frac{1}{P_{I}}\sqrt{{P_{I}P_{Q}} - R_{IQ}^{2}}} \right\rbrack}^{- 1}}} & {{{Eq}.\quad 16}A} \\ {C_{2}^{\prime} = {C_{2} = \left\lbrack {\frac{1}{P_{I}}\sqrt{{P_{I}P_{Q}} - R_{IQ}^{2}}} \right\rbrack^{- 1}}} & {{{Eq}.\quad 16}B} \end{matrix}$

[0079]FIG. 12 illustrates an estimator/compensator module 1200, where the multiplier 606 is placed in the I channel. In this embodiment, C, and C₂ are replaced with C₁″ and C₂″, where: $\begin{matrix} {C_{1}^{''} = {\frac{1}{C_{2}} = \left\lbrack {\frac{1}{P_{I}}\sqrt{{P_{I}P_{Q}} - R_{IQ}^{2}}} \right\rbrack}} & {{{Eq}.\quad 17}A} \\ {C_{2}^{''} = {\frac{- C_{1}}{C_{2}} = {\frac{- R_{IQ}}{P_{I}}\left\lbrack {\frac{1}{P_{I}}\sqrt{{P_{I}P_{Q}} - R_{IQ}^{2}}} \right\rbrack}}} & {{{Eq}.\quad 17}B} \end{matrix}$

[0080] Other embodiments for the estimator/compensator module 600 may also realized by those skilled in the arts based on the discussion given herein. These other embodiments are within the scope and spirit of the present invention.

[0081] As discussed herein, the estimator/compensator module 600 can be efficiently implemented in a digital state machine. As such, in one embodiment, the estimator/compensator module 600 includes digital circuit components to implement the squarers, multipliers, and the signal averaging components that make-up the estimator/compensator module 600. This also holds for alternate embodiments 1100 and 1200.

[0082] Alternatively, the estimator/compensator module 600 can be implemented in a processor such as a digital signal processor, microprocessor, or another type of processor. In other words, the processor would perform the steps in the flowcharts 400, 500, and/or 700. In which case, the estimator/compensator module 600 can be combined with the digital signal processor 114 that further processes the I and Q baseband signals. As such, the operations and steps in the flowcharts 400, 500, and 700 can be described by computer program code that is operated in a processor. The computer program code can be stored on a computer useable medium as described further below.

[0083] For example, FIG. 8 illustrates an example computer system 800, in which the present invention can be implemented as computer-readable code. Various embodiments of the invention are described in terms of this example computer system 800. After reading this description, it will become apparent to a person skilled in the relevant art how to implement the invention using other computer systems and/or computer architectures.

[0084] The computer system 800 includes one or more processors, such as processor 804. Processor 804 can be a special purpose or a general purpose digital signal processor. The processor 804 is connected to a communication infrastructure 806 (for example, a bus or network). Various software implementations are described in terms of this exemplary computer system. After reading this description, it will become apparent to a person skilled in the relevant art how to implement the invention using other computer systems and/or computer architectures.

[0085] Computer system 800 also includes a main memory 808, preferably random access memory (RAM), and may also include a secondary memory 810. The secondary memory 810 may include, for example, a hard disk drive 812 and/or a removable storage drive 814, representing a floppy disk drive, a magnetic tape drive, an optical disk drive, etc. The removable storage drive 814 reads from and/or writes to a removable storage unit 818 in a well known manner. Removable storage unit 818, represents a floppy disk, magnetic tape, optical disk, etc. which is read by and written to by removable storage drive 814. As will be appreciated, the removable storage unit 818 includes a computer usable storage medium having stored therein computer software and/or data.

[0086] In alternative implementations, secondary memory 810 may include other similar means for allowing computer programs or other instructions to be loaded into computer system 800. Such means may include, for example, a removable storage unit 822 and an interface 820. Examples of such means may include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an EPROM, or PROM) and associated socket, and other removable storage units 822 and interfaces 820 which allow software and data to be transferred from the removable storage unit 822 to computer system 800.

[0087] Computer system 800 may also include a communications interface 824. Communications interface 824 allows software and data to be transferred between computer system 800 and external devices. Examples of communications interface 824 may include a modem, a network interface (such as an Ethernet card), a communications port, a PCMCIA slot and card, etc. Software and data transferred via communications interface 824 are in the form of signals 828 which may be electronic, electromagnetic, optical or other signals capable of being received by communications interface 824. These signals 828 are provided to communications interface 824 via a communications path 826. Communications path 826 carries signals 828 and may be implemented using wire or cable, fiber optics, a phone line, a cellular phone link, an RF link and other communications channels.

[0088] In this document, the terms “computer program medium” and “computer usable medium” are used to generally refer to media such as removable storage drive 814, a hard disk installed in hard disk drive 812, and signals 828. computer program medium and computer usable medium can also refer to memories, such as main memory 808 and secondary memory 810, that can be memory semiconductors (e.g. DRAMs, etc.) These computer program products are means for providing software to computer system 800.

[0089] Computer programs (also called computer control logic) are stored in main memory 808 and/or secondary memory 810. Computer programs may also be received via communications interface 824. Such computer programs, when executed, enable the computer system 800 to implement the present invention as discussed herein. In particular, the computer programs, when executed, enable the processor 804 to implement the processes of the present invention, such as the method(s) implemented using the oscillator structure 100 described above, such as method 300, for example. Accordingly, such computer programs represent controllers of the computer system 800. By way of example, in the embodiments of the invention, the processes performed by the signal processing blocks of oscillator 100 can be performed by computer control logic. Where the invention is implemented using software, the software may be stored in a computer program product and loaded into computer system 800 using removable storage drive 814, hard drive 812 or communications interface 824.

[0090] In a computer implementation, the operation of the compensator/estimator 600 can be further described to include steps for storing and accessing parameters in a memory. For instance, the P_(I), P_(Q), and R_(IQ) parameters generated from the injected calibration signal can be stored in a memory. The memory can then be accessed to retrieve these parameters for determination of C₁ and C₂, which can also be stored in the memory. Flowchart 900 in FIG. 9, further describes the operation of the flowchart 700 in a computer implementation.

[0091] In step 902, a processor accesses and retrieves I_(N) and Q_(N) baseband signals from a first memory location. For example, the processor 804 could retrieve the I_(N) and Q_(N) baseband signals from a memory location in a main memory 808.

[0092] In step 904, the processor 804 determines baseband power parameters P_(I), P_(Q), and R_(IQ) according to the following equations:

P _(I)=Average of I _(N) ²  Eq. 1

P _(Q)=Average of Q _(N) ²  Eq. 2

R _(IQ)=Average of I _(N) ·Q _(N)  Eq. 3

[0093] In step 906, the processor 804 stores the power parameters P_(I), PQ_(Q) and R_(IQ) in respective memory locations of the main memory 808.

[0094] In step 908, the processor 804 retrieves the power parameters P_(I), P_(Q), and R_(IQ) from the main memory 808 for determination of the C₁ and C₂ compensation factors.

[0095] In step 910, the processor 804 determine the C₁ and C₂ compensation factors based on the power parameters P_(I), P_(Q), and R_(IQ) according to the following equations: $\begin{matrix} {{C_{1} = \frac{R_{IQ}}{P_{I}}};} & {{Eq}.\quad 10} \\ {C_{2} = {\left\lbrack {\frac{1}{P_{I}}\sqrt{{P_{I}P_{Q}} - R_{IQ}^{2}}} \right\rbrack^{- 1}.}} & {{Eq}.\quad 15} \end{matrix}$

[0096] In step 912, the processor stores the C₁ and C₂ compensation factors in respective memory locations of the main memory 808.

[0097] In step 914, information bearing I and Q baseband signals are received. For example, referring back to FIG. 3, the switch 302 is configured so that the LNA 102 is connected to the antenna 116, instead of to the calibration signal source 304.

[0098] In step 916, the processor retrieves the C₁ and C₂ compensation factors from the respective memory locations of the main memory 808. In step 918, the processor 804 compensates the information bearing Q baseband signal with the C₁ and C₂ compensation factors, to produce compensated information bearing I and Q baseband signals. The compensated information bearing I and Q baseband signals are have reduced phase and amplitude errors.

[0099] 5. Conclusion

[0100] Example embodiments of the methods, systems, and components of the present invention have been described herein. As noted elsewhere, these example embodiments have been described for illustrative purposes only, and are not limiting. Other embodiments are possible and are covered by the invention. Such other embodiments will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Thus, the breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents. 

What is claimed is:
 1. In an IQ receiver, a method of correcting mismatch errors between an I channel and a Q channel, the method comprising the steps of: injecting a calibration signal into an input of said IQ receiver, to produce an I_(N) baseband signal and a Q_(N) baseband signal at an output of said IQ receiver; determining an average power P_(I) of said I_(N) baseband signal, and an average power P_(Q) of said Q_(N) baseband signal; determining a cross-correlation R_(IQ) between said I_(N) baseband signal and said Q_(N) baseband signal; determining a phase compensation factor C₁ based on said average power P_(I) and said cross-correlation R_(IQ), said phase compensation factor C₁ determined to compensate for any phase error between said I_(N) baseband signal and said Q_(N) baseband signal; and determining an amplitude compensation factor C₂ based on said average power P_(I), said average power P_(Q), and said cross-correlation R_(IQ), wherein C₂ is determined to compensate for any amplitude error between said I_(N) baseband signal and said Q_(N) baseband signal.
 2. The method of claim 1, wherein said phase compensation factor C₁ is determined according to the following, $C_{1} = {\frac{R_{IQ}}{P_{I}}.}$


3. The method of claim 1, wherein said amplitude compensation factor C₂ is determined according to the following, $C_{2} = {\left\lbrack {\frac{1}{P_{I}}\sqrt{{P_{I}P_{Q}} - R_{IQ}^{2}}} \right\rbrack^{- 1}.}$


4. The method of claim 1, wherein said step of injecting includes the step of injecting a noise signal into an analog front-end of said IQ receiver.
 5. The method of claim 1, wherein said step of injecting includes the step of disengaging said input of said IQ receiver from an information bearing signal source, and thereby said calibration signal is noise generated by said IQ receiver.
 6. The method of claim 1, further comprising the step of compensating an information-bearing Q baseband signal with said phase compensation factor C₁ and said amplitude compensation factor C₂.
 7. The method of claim 6, wherein said step of compensating includes the steps of: multiplying an information bearing I baseband signal by said compensation factor C₁ to produce a C₁·I baseband signal; subtracting said C₁·I baseband signal from said information bearing Q baseband signal to produce a phase-compensated Q baseband signal; and multiplying said phase-compensated Q baseband signal by said amplitude compensation factor C₂.
 8. The method of claim 1, wherein said step of determining an average power P_(I) of said I_(N) baseband signal, and an average power P_(Q) of said Q_(N) baseband signal includes the steps of: squaring said I_(N) baseband signal to produce a squared I_(N) baseband signal; determining an average of said squared I_(N) baseband signal to produce said average power P_(I); squaring said Q_(N) baseband signal to produce a squared Q_(N) baseband signal; and determining an average of said squared Q_(N) baseband signal to produce said average power P_(Q).
 9. The method of claim 8, wherein said step of determining a cross-correlation R_(IQ) between said I_(N) baseband signal and said Q_(N) baseband signal includes the steps of: multiplying said I_(N) baseband signal with said Q_(N) baseband signal, to determine I_(N)Q_(N); and averaging said I_(N)Q_(N) to produce said cross-correlation factor R_(IQ).
 10. The method of claim 1, wherein said step of determining a phase compensation factor C₁ includes the steps of: determining a reciprocal of said average power P_(I) to produce 1/P_(I); and multiplying 1/P_(I) with said cross-correlation R_(IQ) to produce said phase compensation factor C₁.
 11. The method of claim 1, wherein said step of determining an amplitude compensation factor C₂ includes the steps of: multiplying P_(I) with P_(Q) to determine P_(I)P_(Q); determining a square of said cross-correlation R_(IQ) to determine R_(IQ) ²; subtracting said R_(IQ) ² from P_(I)P_(Q) to produce P_(I)P_(Q)−R_(IQ) ²; determining a square root of (P_(I)P_(Q)−R_(IQ) ²); multiplying said square root of (P_(I)P_(Q)−R_(IQ) ²) by a reciprocal of 1/P_(I) to produce 1/P_(I)·SQRT (P_(I)P_(Q)−R_(IQ) ²); and determining reciprocal of 1/P_(I)·SQRT (P_(I)P_(Q)−R_(IQ) ²).
 12. An apparatus for correcting mismatch between an I channel path and a Q channel path of an IQ receiver based on a calibration input signal, said I channel path and said Q channel path outputing an I_(N) baseband signal and a Q_(N) baseband signal responsive to said calibration input signal, said apparatus comprising: a compensator module coupled to an output of said I channel path and an output of said Q channel path, said compensator module configured to compensate said output of said Q channel path with a phase compensation factor C₁ and an amplitude compensation factor C₂; an estimator module configured to generate said phase compensation factor C₁ and said amplitude compensation factor C₂ responsive to said IN baseband signal and said Q_(N) baseband signal, wherein said phase compensation factor C₁ is determined according to, ${C_{1} = \frac{R_{IQ}}{P_{I}}};$

wherein said amplitude compensation factor C₂ is determined according to, ${C_{2} = \left\lbrack {\frac{1}{P_{I}}\sqrt{{P_{I}P_{Q}} - R_{IQ}^{2}}} \right\rbrack^{- 1}};$

wherein, P_(I) is an average power of said I_(N) baseband signal, P_(Q) is an average power of said Q_(N) baseband signal, and R_(IQ) is a cross-correlation between said I_(N) baseband signal and said Q_(N) baseband signal.
 13. The apparatus of claim 12, wherein said compensator module includes: a first digital multiplier configured to multiply said output of said I channel path by said phase compensation factor C₁; a digital subtractor configured to subtract an output of said first digital multiplier from an output of said Q channel path; and a second digital multiplier configured to multiply an output of said digital subtractor with said amplitude compensation factor C₂.
 14. The apparatus of claim 12, wherein said estimator module includes: a power detector module configured to determine an average power P_(I) of said I_(N) baseband signal and an average power P_(Q) of said Q_(N) baseband signal; a cross-correlation module configured to determine a cross-correlation between said I_(N) baseband signal and said Q_(N) baseband signal; a phase compensation module configured to determine said phase compensation factor C₁ based on said average power P_(I) and said cross-correlation factor R_(IQ); and an amplitude compensator module configured to determine said amplitude compensation factor C₂ based on said average power P_(I), said average power P_(Q), and said cross-correlation factor R_(IQ).
 15. The apparatus of claim 14, wherein said cross-correlation module includes a digital multiplier configured to multiply said I_(N) baseband signal with said Q_(N) baseband signal.
 16. The apparatus of claim 14, wherein said phase compensator module includes a digital multiplier configured to multiply said cross-correlation factor R_(IQ) with a reciprocal of said average power P_(I).
 17. The apparatus of claim 14, wherein said amplitude compensation module includes: a first digital multiplier configured to multiply said average power P_(I) with said average power P_(Q); a digital subtractor configured to subtract a square of said cross-correlation R_(IQ) from an output of said first digital multiplier; means for determining a square root of an output of said digital substracter; a second digital multiplier for multiplying an output of said means for determining a square root with a reciprocal of said average power P_(I).
 18. An IQ receiver, comprising: a receiver input; a local oscillator; means for generating a calibration signal that is coupled to said receiver input; an I channel path, coupled to said receiver input, said I channel path having a first mixer coupled to said local oscillator and a second input coupled to said receiver input, and a first analog-to-digital converter coupled to an output of said first mixer, said analog-to-digital converter generating an I_(N) baseband signal responsive to said calibration signal; a Q channel path, coupled to said receiver input, said Q channel path having a second mixer coupled to said local oscillator and a second input coupled to said receiver input, and a second analog-to-digital converter coupled to an output of said second mixer, said analog-to-digital converter generating an Q_(N) baseband signal responsive to said calibration signal; a compensator module coupled to an output of said I channel path and an output of said Q channel path, said compensator module configured to compensate said output of said Q channel path with a phase compensation factor C₁ and an amplitude compensation factor C₂; an estimator module configured to generate said phase compensation factor C₁ and said amplitude compensation factor C₂ responsive to said I_(N) baseband signal and a Q_(N) baseband signal, wherein said phase compensation factor C₁ is determined according to, ${C_{1} = \frac{R_{IQ}}{P_{I}}};$

wherein said amplitude compensation factor C₂ is determined according to, ${C_{2} = \left\lbrack {\frac{1}{P_{I}}\sqrt{{P_{I}P_{Q}} - R_{IQ}^{2}}} \right\rbrack^{- 1}};$

wherein, P_(I) is an average power of said I_(N) baseband signal, P_(Q) is an average power of said Q_(N) baseband signal, and R_(IQ) is a cross-correlation between said I_(N) baseband signal and said Q_(N) baseband signal.
 19. The method of claim 1, wherein said phase compensation factor C₁ is determined according to: $C_{1} = {{\frac{R_{IQ}}{P_{I}}\left\lbrack {\frac{1}{P_{I}}\sqrt{{P_{I}P_{Q}} - R_{IQ}^{2}}} \right\rbrack}^{- 1}.}$


20. The method of claim 1, wherein said phase compensation factor C₁ is determined according to: $C_{2} = {\left\lbrack {\frac{1}{P_{I}}\sqrt{{P_{I}P_{Q}} - R_{IQ}^{2}}} \right\rbrack.}$


21. The method of claim 20, wherein said amplitude compensation factor C₂ is determined according to: $C_{2} = {{\frac{- R_{IQ}}{P_{I}}\left\lbrack {\frac{1}{P_{I}}\sqrt{{P_{I}P_{Q}} - R_{IQ}^{2}}} \right\rbrack}.}$ 